<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>事件修饰符</title>
</head>
<script type="text/javascript" src="../js/vue.js"></script>
    <body>
        <!--
            Vue中的事件修饰符：
                1.prevent：阻止默认事件（常用）；
                2.stop：阻止事件冒泡（常用）；
                3.once：事件只触发一次（常用）；
                4.capture：使用事件的捕获模式；
                5.self：只有event.target是当前操作的元素才触发事件；
                6.passive：事件的默认行为立即执行，无需等待事件回调执行完毕。
        -->
        <div id="root">
            <h1>你好，{{name}}</h1><br/>
            <!-- <button v-on:click="showInfo">点我弹窗</button> -->
            <button @click="showInfo1">点我弹窗1（不传参）</button>
            <button @click="showInfo2($event,66)">点我弹窗2（传参）</button>  <!-- 当点击按钮时，调用方法传入event事件对象和一个参数66 -->
        </div>

        <script type="text/javascript">
            Vue.config.productionTip = false //设置为 false 以阻止 vue 在启动时生成生产提示。

            const vm = new Vue({
                el:"#root",
                data:{
                    name:'覃小宝'
                },
                //methods：Vue中的方法集合，这里可以绑定
                methods:{
                    showInfo1(event){
                        alert('工程师你好！');
                        // console.log(event.target.innerText);
                        // console.log(this === vm);  //输出true，此处的“this”是vm （Vue实例对象）

                    },
                    showInfo2(event,number){
                        console.log("方法接收到的参数："+number + "     事件对象：",event);
                    },
                }
            })
        </script>
        
    </body>
</html>